//package org.example;
//
//import org.example.entity.InvestmentReturnData;
//import org.example.service.InvestmentReturnDataService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.CommandLineRunner;
//import org.springframework.boot.SpringApplication;
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.context.annotation.ComponentScan;
//
//import java.math.BigDecimal;
//import java.time.LocalDateTime;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * 投资收益率数据测试类
// */
//@SpringBootApplication
//@ComponentScan(basePackages = "org.example")
//public class TestInvestmentReturnData implements CommandLineRunner {
//
//    @Autowired
//    private InvestmentReturnDataService investmentReturnDataService;
//
//    public static void main(String[] args) {
//        SpringApplication.run(TestInvestmentReturnData.class, args);
//    }
//
//    @Override
//    public void run(String... args) throws Exception {
//        System.out.println("=== 投资收益率数据测试开始 ===");
//
//        // 测试数据插入
//        testDataInsertion();
//
//        // 测试数据查询
//        testDataQuery();
//
//        System.out.println("=== 投资收益率数据测试完成 ===");
//    }
//
//    /**
//     * 测试数据插入
//     */
//    private void testDataInsertion() {
//        System.out.println("开始测试数据插入...");
//
//        List<InvestmentReturnData> testDataList = createTestData();
//
//        try {
//            int count = investmentReturnDataService.batchSave(testDataList);
//            System.out.println("成功插入 " + count + " 条测试数据");
//        } catch (Exception e) {
//            System.out.println("数据插入失败: " + e.getMessage());
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 测试数据查询
//     */
//    private void testDataQuery() {
//        System.out.println("开始测试数据查询...");
//
//        String[] categories = {"10+期", "30+期", "50+期"};
//
//        for (String category : categories) {
//            try {
//                List<InvestmentReturnData> dataList = investmentReturnDataService.getByCategoryType(category);
//                System.out.println("类别 " + category + " 查询到 " + dataList.size() + " 条数据");
//
//                if (!dataList.isEmpty()) {
//                    InvestmentReturnData firstData = dataList.get(0);
//                    System.out.println("第一条数据: 期数=" + firstData.getPeriodDate() +
//                                     ", 投资金额=" + firstData.getInvestmentAmount() +
//                                     ", 平均收益=" + firstData.getAverageReturn() + "%");
//                }
//            } catch (Exception e) {
//                System.out.println("查询类别 " + category + " 数据失败: " + e.getMessage());
//                e.printStackTrace();
//            }
//        }
//    }
//
//    /**
//     * 创建测试数据
//     */
//    private List<InvestmentReturnData> createTestData() {
//        List<InvestmentReturnData> dataList = new ArrayList<>();
//        String[] categories = {"10+期", "30+期", "50+期"};
//        String[] periods = {"2022-01", "2022-02", "2023-01", "2023-02", "2024-01"};
//
//        for (String category : categories) {
//            for (int i = 0; i < periods.length; i++) {
//                InvestmentReturnData data = new InvestmentReturnData();
//                data.setPeriodDate(periods[i]);
//                data.setInvestmentAmount(new BigDecimal("100000000.00"));
//                data.setAverageReturn(new BigDecimal("5.25"));
//                data.setCategoryType(category);
//
//                // 设置各期收益率（模拟数据）
//                data.setPeriod1(new BigDecimal("0.00"));
//                data.setPeriod2(new BigDecimal("1.87"));
//                data.setPeriod3(new BigDecimal("2.78"));
//                data.setPeriod4(new BigDecimal("3.45"));
//                data.setPeriod5(new BigDecimal("4.12"));
//                data.setPeriod6(new BigDecimal("4.89"));
//                data.setPeriod7(new BigDecimal("5.23"));
//                data.setPeriod8(new BigDecimal("5.67"));
//                data.setPeriod9(new BigDecimal("6.01"));
//                data.setPeriod10(new BigDecimal("6.34"));
//
//                // 后面的期数根据类别设置不同的值
//                if ("30+期".equals(category)) {
//                    data.setPeriod11(new BigDecimal("6.78"));
//                    data.setPeriod12(new BigDecimal("7.12"));
//                } else if ("50+期".equals(category)) {
//                    data.setPeriod11(new BigDecimal("7.23"));
//                    data.setPeriod12(new BigDecimal("7.89"));
//                    data.setPeriod13(new BigDecimal("8.34"));
//                }
//
//                data.setCreatedTime(LocalDateTime.now());
//                data.setUpdatedTime(LocalDateTime.now());
//
//                dataList.add(data);
//            }
//        }
//
//        return dataList;
//    }
//}
